デイスクダンプ&エディタ ――――――――――――――――――――――――――――――――――――――― Oh!mz 1986年 6月号掲載 S−OS SWORD用 マシン語 DISK D&E.SOS       03000H−0389CH S:03000H テキスト HELP.HLP ソース  DISK D&E.ASC 起動方法 DISK D&E.SOSをロード J3000 ――――――――――――――――――――――――――――――――――――――― S−OS“SWORD”の ディスク入出力機能を生かしたユーティリティです。 リアルタイムチェックサムやHELP機能もついて、 高速で使いやすいツールになっています。 ディスクをお持ちの方は、 SWORDのパートナーとしてぜひ使ってみてください。 S−OSのディスクバージョンの完成おめでとうございます。 データレコーダを持っていない私としましても 大変うれしくてさっそく S−OS用のディスクダンプ&エディタを 作りましたので送ります。 プログラムは3000Hから始まります。 リスト1を打ち込んでチェックサムを確認したら、 念のためにセーブをお忘れなく。 ・――――――― |                 | |     ダンプモード      | |                 |           ――――――――・ S−OSのモニタから J3000で起動します。 この状態はダンプモードです。 「A:」と表示され、カーソルが点滅していますね。 「A」は現在ドライブAが選択されていることを表しています。 Bドライブの内容を見たいなら、 カーソルを左へ動かし「B:」と書き換えればOKです。 ここでは次のコマンドが有効です。 ●レコードナンバー入力  10進数、16進数のどちらでも入力できます。  16進数は$をつけて、必ず4桁で指定します。  40字モードでは 128バイト分しか表示できません。  後半 128バイトを表示するには「.」を使い、  「$0020.」のようにします。  なお、リターンキーのみ押したときは、  次のレコードの内容を表示します。 ●E  エディットモードに入ります。 ●W  画面の40/80字モードを切り換えます。  40宇モードではOh!MZ仕様の 128バイトダンプになります。 ●D  S−OSの#DIRをコールします。 ●H  HELPファイル(後述)を表示します。 ●H=〈ファイル名〉  Hコマンドで表示するファイルを変更します。  拡張子はつけません。  〈ファイル名〉を省略すると、  現在設定されているファイル名を表示します。 ●#  プリンタヘ出力するかどうかを切り換えるスイッチです。 ●!  S−OSヘリターンします。 ・――――――― |                 | |    エディットモード     | |                 |           ――――――――・ ダンプモードのEコマンドで入ります。 16進数(0〜F)を打ち込んでデータの書き換えが可能で、 リアルタイムにチェックサムが変わります。 カーソルを動かして自由にエディットしてください。 リターンキーを押すとエディットモードを抜けます。 プロンプト「A>」に続けて、 ディスクにセーブするかどうかを尋ねるメッセージが表示されます。 この状態では次のコマンドが有効です。 ●リターンキー  エディットした結果をディスクにセーブします。  セーブするレコードナンバーを変えることにより、  任意のレコードヘの書き込みが可能です。  書き込み後ダンプモードに帰ります。 ●SHIFT+BREAK  ディスクにセーブせずにダンプモードに帰ります。 ●R  R[CR]で再びエディットモードに入ります。 ・――――――― |                 | |     HELP機能      | |                 |           ――――――――・ ダンプモードでHを入力すると S−OSモニタの「DV」で設定されているドライブの HELPファイルを表示します。 HELPファイルは全文コメント行とした アセンブラのソースファイルの形をしています(図1)。 HELP機能は、24行を1画面として 行頭の「;」を飛ばして表示する機能です。 SHIFT+BREAKでHELPを中止し、 ダンプモードに帰ります。 そのほかのキーは次の画面を表示するのに使います。 HELPファイルの拡張子(ファイル名の「.」以下)は 必ずHLPとしてください。 〈参考〉 1)X1付属“Device Dump”ユーティリティ 2)エディタアセンブラZEDA、0h!MZ、1985、7 図1 HELPファイル 1 ;************************************** 2 ; 3 ;HHH HH EEEEEEE LLL PPPPPPP 4 ;HHH HH EEE LLL PPP PP 5 ;HHH HH EEE LLL PPP PP 6 ;HHHHHHHH EEEEEE LLL PPPPPPP 7 ;HHH HH EEE LLL PPP 8 ;HHH HH EEE LLL PPP 9 ;HHH HH EEEEEEE LLLLLLL PPP 10 ; 11 ;************************************** 12 ; 13 ; 14 ; 15 ; 16 ; 17 ; 18 ; SHIFT+BRBAK --- HELPヲ コ-ルシタシステムヘモドル 19 ; ソノタノキ- --- ツギノガメン 20 ; 21 ; 22 ; 23 ; 24 ; 25 ;***** Disk DUMP&EDIT ***** No 1 *** 26 ; 27 ;DUMモ-ド (ディスクノキリカエカノウ) 28 ; RECNO -- 10シンスウ (0カラ 1279) 29 ; ニュウリョク 16シンスウ ($0000 カラ $04FF 4ケタ) 30 ; CRノミハ+1。 エラ-ノトキ 1279ニナル。 31 ; 40ジノトキ コウハン128バイトノシテイハ '.' 32 ; E ------ EDITモ-ドヘハイル。 33 ; W ------ ガメンモ-ドキリカエ 34 ; 40ジ = 128バイトダンプ。(キャラ ナシ) 35 ; 80ジ = 256バイトダンプ 36 ; D ------ S-OSノ #DIRヲコ-ルスル。 37 ; H ------ HELPヲコ-ルスル。 38 ; H= ----- トウロクサレテイル ファイルメイヲヒョウジスル。 39 ; H=ファイルメイ ファイルヲヘンコウスル。エクステンションフヨウ。 40 ; # ------ プリンタ-スイッチ 41 ; ! ------ RETURN 42 ; 43 ;EDITモ-ド (プロンプト A> ) 44 ; デ-タ --- 16シンスウ。'*'ニヨリキャラクタ-ニュリョクカノウ。 45 ; ニュウリョク CRデプロンプトヘ イク。ディスクヘカキコマナイ。 46 ; R ------ モウ1ドニュウリョクモ-ドヘモドル。 47 ; CR ----- カキコミ。ディスク レコ-ドNo.ヘンコウカノウ。 48 ; SHIFT+BREAK -- カキコマズニ DUMPモ-ドヘモドル。